KALKULATOR - ABOUT THE PROGRAM ===================================== You can buy a decent scientific calculator in your drugstore for $15 or less. Put it next to your computer's keyboard - and why bother with any calculator program? This means that a program of this kind, in order to be more than just a gadget, has to have features you will not find in any calculator. Here I will try to convince you that Kalkulator is such an application, although, of course, ultimately you will be the judge. What follows is a brief listing of Kalkulator's features. 1. EXPRESSION EVALUATION On most calculators (with a notable exception of some Sharp and Casio models) an expression is being evaluated while you are entering it. As soon as the next operand (numeric value) has been entered, you do not see the previous one(s). Upon completion of an expression, you cannot really see what went into it. If you make (or suspect) an error, everything has to be re-entered from the beginning. In Kalkulator the whole expression is entered first in a notation very much like that used on paper. Only when the expression has been entered, you compute it. The expression stays there, and at any moment you can review it, modify and recompute. More, you can switch between six different expressions at a time (twenty-four in the registered version). More, starting from Version 1.07 Kalkulator allows you to enter expressions into dialog boxes, wherever a numerical input is expected. For example, you can plot a function from Pi/3-A to Pi+2A without precomputing the graph limits. 2. FUNCTION SET Kalkulator has more functions that any competition I am aware of (and, certainly, more than some "ultimate Windows calculators", boasting "logarithms, power, pi amd much more" - no, I am not inventing this!): - 39 standard functions: logarithmic and exponential (base e, 10 and 2), trigonometric and inverse, hyperbolic and inverse, square, cube and corresponding roots, some hndy utility functions (like fractional part, absolute value etc). - 4 Euler (or related) functions: gamma, logarithmic gamma, beta, combinations (the factorial operator is also provided) - 44 statistical distribution functions for eight most commonly used distributions; this includes left, right and central distribution integrals and functions inverse to distribution integrals (the latter, so commonly used in statistics, cannot be found in any calculator, regardless of the price) - 3 random generator functions (uniform, Normal, Poisson) to perform statistical what-if calculations - 3 conditional functions (e.g., "if the first argument is negative, take the second one, else take the third") - 3 mixed-unit entry functions: pounds/ounces, feet/inches, hours/ minutes/seconds - 12 user defined functions of a single argument All these add up to more than 100 functions, computed, when only possible, with not less than 18 decimal digits of accuracy (although only 16 digits of the final result are displayed, and for a good reason). 3. RESULT REFORMATTING Any result can be displayed in a number of formats: - Fixed- and floating point with a user-selectable number of digits (you can also let the program decide) - Whole part and fraction, e.g., "8 9/17" - Pounds, ounces and a fraction, e.g. "3 7 9/16" - Feet, inches and a fraction, similar to the above - Degrees, minutes and seconds of angle - Decimal degrees of angle, same for minutes or seconds - Hours, minutes and seconds of time 4. VARIABLES Results of calculations can be stored in variables (memories), denoted as A..Z. These variables can then be used in other expressions. 5. UNIT CONVERSION Any calculation result can be converted between different measurement units. Conversions for area, energy, force, length, mass, power, pressure, speed, temperature, time and volume are provided. In addition, a number of physical constants have been defined in the program. Possibly, not many users will need this feature, but all it costs you is just the space for one button. 6. NUMERICAL OPERATIONS Kalkulator will take a function typed in as an expression and perform on it the following numerical operations: - Numerical integration over a given interval - Computing a derivative at a given point - Computing a sum within given argument limits, with a given step - Find a zero of the function, i.e. solve an equation f(x)=0 inside a given interval If you do not need these operations, just ignore them: all they take is another four small buttons at the bottom of the screen. 7. FUNCTION GRAPHS A function defined as an expression can be plotted within a given x-range; the y-range can be entered manually or computed and rounded by the program. A number of functions can be plotted within a single graph canvas. The plotting algorithms are quite smart, making necessary adjustments to the local line curvature and being capable of handling points or areas where the function is not computable. You can invent a function formula to fool any plotting algorithm, but Kalkulator's is more difficult to fool than most, at least those I'm aware of. There is a provision to add coordinate grid, and the graph can be saved to the Windows clipboard for use in other programs. 8. STATISTICAL OPERATIONS Kalkulator has a data buffer, capable of storing 128 data values (X points) or 64 pairs of values (XY points). Simple statistical and/on graphic operations can be performed on the data: - computing the population parameters: mean, variance, standard deviation, minimum and maximum values, covariance (for XY points) - drawing a data histogram (X points) - drawing a scatter plot (XY points), computing linear or square regression coefficients and adding the regression line to the plot The data values and the computed parameters can then be used in any Kalkulator expressions. You can also define a formula to compute the X or Y values; this formula may also refer to any points in the buffer. [The registered version of Kalkulator adds some capabilities here: the data buffer has the capacity of 6400/3200 data points, and the program will do polynomial regression up to the ninth degree. It also allows for saving the data to (or reading from) an ASCII file.] 9. THE USER INTERFACE, LOOK AND FEEL Too many programs throw in lots of features and a kitchen sink, to the point when navigation through program features becomes confusing (not to say irritating). In the case of Kalkulator the major design principle was that the user should not be hampered by the features he/she does not access. This is, of course, a highly subjective issue, but Kalkulator at least makes a honest attempt in this area. Many of the less-used functions or operations are accessed from tabbed panels. When not in use, only a tab reminds the user about their existence. The buttons for more advanced operations (like, say, numerical integration) can be hidden (which also saves you the valuable screen space). All operations, without a single exception, can be performed without the mouse, using the keyboard only. This was done primarily with laptop users in mind. Another nice option allows to shrink Kalkulator vertically to not much more than two lines of text - just enough space to enter the expression and to see the result. You may find this feature handy when using the program while working on some doument. (Yes, cut and paste operations are, of course, supported.) Last but not least, two different display fonts are provided: one suitable for the not-so-sharp CRT monitors, and another primarily (but not only) for the super-sharp active matrix displays. 10. FAULT TOLERANCE Kalkulator traps internally all user errors. If you attempt an illegal operation, you will get just a message with the error diagnostics. For expression syntax errors, the input cursor will be placed at the offending expression element, so that correcting the problem is quite easy. (Compare this with the "E------" display you see on the "regular" calculators.) 11. PERSISTENCE When you exit the program, the current status of all operations and the data is saved to a disk file. Next time you run the program, you will be able to pick up from the place you left it. You can also save or reload the program status at any time. 12. ON-LINE HELP Yes, of course. Kalkulator comes with a standard Windows help file, quite detailed and comprehensive. Good-looking, too. THINGS KALKULATOR DOES NOT DO - Calculations on complex numbers - Linear algebra (matrix and vector operations, linear equation systems) - Systems of non-linear or differential equations - Binary, octal or hexadecimal calculations - Symbolic algebra - Financial math (compound interest, pay-offs etc.) - Programmability (loops, branching) - Plotting two-, three- and n-dimensional surfaces - Function optimization - Bessel functions, elliptic integrals - Your homework Depending on your response, some of these features may be implemented in the future releases. The Spring '96 release will include a hex/octal/binary calculator and linear algebra. Some items of this list will, however, never make it into the program: symbolic algebra, financial math, advanced plotting. ADDITIONAL NOTES Kalkulator is not such a new program as the version number might indicate. The general concept and much of the user interface are inherited from "El_Cal - an Elementary Calculator", quite popular in the Atari ST environment (and still the most powerful program of its kind; Kalkulator is only getting there). El_Cal has been under permanent development between 1988 and 1993 (at that time the ST could run circles around PC clones!). The expression parser, graphing algorithms and a major part of the internal program logic are the same as in Ex, a scientific and engineering program for the HP LX Palmtop computers. This program, released in 1993 and still being improved, became one of the more popular pieces of software on the HP platform (at least judging from the number of CompuServe downloads). Finally, most of the numerical algorithms used in Kalkulator have been developed and refined in the last 20 years or so, in the course of my various home and job-related projects. Some of them, in addition to being used in the programs mentioned above, might already have affected your life, being a part of various U.S. Government projects. (Although a physicist by education, I am making my life as a software engineer.) The only really new part of Kalkulator is the Windows user interface. The rest of the program has been around. ###